﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataSetTableAdapters;
using quinielonModel;
using Facebook;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        quinielonEntities db = new quinielonEntities();
        mostarAciertosUsuario(db);
        db.Dispose();
    }

    private void mostarAciertosUsuario(quinielonEntities db)
    {
        var tableAdapter = new GET_COLUMNAS_JORNADATableAdapter();
        List<DataSet.GET_COLUMNAS_JORNADARow> aciertos = null;

        var jornada = (from c in db.columna
                       join q in db.quiniela on c.quiniela equals q
                       join j in db.jornada on q.jornada equals j
                       where c.aciertos != null
                       select j).ToList().LastOrDefault();

        if (jornada != null)
        {
            aciertos = tableAdapter.GetData(jornada.id).ToList();
        }


        if (aciertos == null || jornada == null)
        {
            labFecha.Visible = false;
            labJornada.Visible = false;
            labJornada1.Visible = false;
            Label1.Visible = true;
            Label1.Text = "Todavía no hay estadísticas ni aciertos que mostrar, paciencia";
        }
        else
        {
            labFecha.Text = jornada.fecha.Value.ToShortDateString();
            labJornada.Text = jornada.id.ToString();
            var usuarioPaquete = aciertos.LastOrDefault().usuario;

            //OJO!!!!
            //usuarioPaquete = "100000645994606";

            usuario usuario = (from u in db.usuario
                               where u.id_fb.Equals(usuarioPaquete)
                               select u).FirstOrDefault();

            FacebookClient FBApp = new FacebookClient(usuario.token);
            var user = (IDictionary<string, object>)FBApp.Get("/me");

            string nombrePaquete = (string)user["first_name"];

            Label2.Visible = true;
            Label2.Text = "El paquete de la semana es: " + nombrePaquete;

            Image img;

            TableRow row = new TableRow();
            TableCell cell = new TableCell();

            foreach (var c in aciertos)
            {
                cell = new TableCell();
                img = new Image();
                img.ImageUrl = "http://graph.facebook.com/" + c.usuario + "/picture";
                img.AlternateText = "user photo";
                img.Height = 50;
                img.Width = 50;
                cell.Controls.Add(img);
                row.Cells.Add(cell);
            }
            Table1.Rows.Add(row);
            row = new TableRow();
            foreach (var c in aciertos)
            {
                cell = new TableCell();
                cell.Text = c.aciertos.ToString();
                row.Cells.Add(cell);
            }
            Table1.Rows.Add(row);

        }
    }
}